package com.mmy.fta.trade.server.service;

import com.mmy.fta.cargo.api.model.CargoInfoDTO;
import com.mmy.fta.trade.server.request.PayBackDepositRequest;
import com.mmy.fta.trade.server.request.PayCargoFeeRequest;
import com.mmy.fta.trade.server.request.PayDepositCheckRequest;
import com.mmy.fta.trade.server.request.PaymentRequest;
import com.mmy.fta.trade.server.request.PrePayCargoFeeRequest;
import com.mmy.fta.trade.server.response.PayBackDepositResponse;
import com.mmy.fta.trade.server.request.PrePayDepositRequest;
import com.mmy.fta.trade.server.response.PayCargoFeeResponse;
import com.mmy.fta.trade.server.response.PrePayCargoFeeResponse;
import com.mmy.fta.trade.server.response.PrePayDepositResponse;
import org.springframework.stereotype.Service;

import java.io.IOException;

/**
 * @author qiang.lin
 * @since 2021/10/29
 */
public interface PaymentService {
    PrePayDepositResponse prePayDepositByDriver(PrePayDepositRequest prePayDepositRequest);

    boolean payDepositCheckForDriver(PayDepositCheckRequest payDepositRequest, CargoInfoDTO cargoInfoDTO);

    PayBackDepositResponse payBackDepositByShipper(PayBackDepositRequest payBackDepositRequest);

    int payDepositByDriver(String payId,String driverOpenId, String orderNumber, Integer deposit );


    PrePayCargoFeeResponse prePayCargoFeeByShipper(PrePayCargoFeeRequest payCargoFeeRequest);

    PayCargoFeeResponse payCargoFeeByShipper(PayCargoFeeRequest payCargoFeeRequest) throws IOException;
    //payCargoFeeByShipper()

    //payMembershipByDriver()

    //pay
}
